package com.woody.aggregate.application.service.saas;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woody.aggregate.IdDTO;
import com.woody.aggregate.saas.dto.*;
import com.woody.aggregate.saas.vo.PageQuerySaasIndustryVO;
import com.woody.aggregate.saas.vo.SaasShopIndustryVO;
import com.woody.base.user.api.vo.PageQueryIndustryVO;

import java.util.List;
import java.util.Map;

/**
 * saas商圈平台行业
 */
public interface SaasShopIndustryService {

    /**
     * 分页查询
     *
     * @param pageQuerySaasIndustryDTO
     * @return
     */
    Page<PageQuerySaasIndustryVO> pageQuery(PageQuerySaasIndustryDTO pageQuerySaasIndustryDTO);

    /**
     * 单个查询
     *
     * @param id
     * @return
     */
    SaasShopIndustryVO getById(Long id);

    /**
     * 添加
     *
     * @param addSaasShopIndustryDTO
     */
    Map<String, Object> add(AddSaasShopIndustryDTO addSaasShopIndustryDTO);

    /**
     * 修改
     *
     * @param updateSaasShopIndustryDTO
     */
    Map<String, Object> edit(UpdateSaasShopIndustryDTO updateSaasShopIndustryDTO);

    /**
     * 删除平台行业
     *
     * @param idDTO
     * @return
     */
    Long delete(IdDTO idDTO);

    /**
     * 一级行业分类
     * @param queryFirstLevelIndustryDTO
     * @return
     */
    List<SaasShopIndustryVO> firstLevelIndustryList(QueryFirstLevelIndustryDTO queryFirstLevelIndustryDTO);

    /**
     * 根据行业编码右模糊查询行业(获取编码本级及所有子行业)
     * @param codeQueryDTO
     * @return
     */
    List<SaasShopIndustryVO> likeRightByCode(CodeQueryDTO codeQueryDTO);
}
